package com.sdkj.dspservice.modules.report.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.sdkj.dspservice.common.base.entity.DataEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;

import javax.validation.constraints.NotBlank;

/**
 * 数据源实体
 */
@Slf4j
@Data
@EqualsAndHashCode(callSuper=true)
@TableName(value = "report_source")
public class Source extends DataEntity<Source> {

    /**
     * 数据库类型
     */
    public static final String DATABASE_TYPE_MYSQL = "1";
    public static final String DATABASE_TYPE_HIVE = "4";

    /**
     * 名称
     */
    @NotBlank(message = "名称不能为空")
    private String name;
    /**
     * 描述
     */
    private String description;
    /**
     * 连接类型（1：JDBC   2.CSV）
     */
    @NotBlank(message = "连接类型不能为空")
    private String type;
    /**
     * 数据库类型（1.mysql  2.postgresql  3.clickhouse）
     */
    @NotBlank(message = "数据库类型不能为空")
    private String databaseType;
    /**
     * 数据库用户名
     */
    private String databaseUsername;
    /**
     * 数据库密码
     */
    private String databasePassword;
    /**
     * 数据库Url
     */
    @NotBlank(message = "数据库Url不能为空")
    private String databaseUrl;

    public Source() {
    }

    public Source(String id) {
        super(id);
    }
}